ã³ãŒãå質ãä¿å®æ§ãã³ã©ãã¬ãŒã·ã§ã³ãåäžãããã广çãªJavaScriptã³ãŒãã¬ãã¥ãŒããã»ã¹ã®å®è£ ã¬ã€ããã°ããŒãã«ããŒã åãã
JavaScriptã³ãŒãã¬ãã¥ãŒã®ãã¹ããã©ã¯ãã£ã¹ïŒå質ä¿èšŒã®å®è£
仿¥ã®ããŒã¹ã®éããœãããŠã§ã¢éçºã®çŸå Žã«ãããŠãJavaScriptã¯ã€ã³ã¿ã©ã¯ãã£ããªãŠã§ããµã€ãããè€éãªãŠã§ãã¢ããªã±ãŒã·ã§ã³ããµãŒããŒãµã€ãç°å¢ã«è³ããŸã§ããããããã®ãåããåºç€æè¡ãšããŠååšããŠããŸãã JavaScriptã³ãŒãã®å質ãä¿å®æ§ãä¿¡é Œæ§ã確ä¿ããããšã¯ããããžã§ã¯ããæåãããé«ãè©äŸ¡ãç¶æããããã«äžå¯æ¬ ã§ãã ã³ãŒãã¬ãã¥ãŒã¯ãååã«ãã£ãŠã³ãŒãã®å€æŽãäœç³»çã«æ€èšŒããããã»ã¹ã§ããããããã®ç®æšãéæããäžã§éèŠãªåœ¹å²ãæãããŸãã ãã®å æ¬çãªã¬ã€ãã§ã¯ãç¹ã«ã°ããŒãã«ã«åæ£ããããŒã å ã§ã®éçºã¯ãŒã¯ãããŒã«ãããŠã广çãªå質ä¿èšŒãå®è£ ããããã®ãã¬ãŒã ã¯ãŒã¯ãæäŸããJavaScriptã³ãŒãã¬ãã¥ãŒã®ãã¹ããã©ã¯ãã£ã¹ãæ¢ããŸãã
JavaScriptãããžã§ã¯ãã«ãããŠã³ãŒãã¬ãã¥ãŒãéèŠã§ããçç±
ã³ãŒãã¬ãã¥ãŒã¯ãåã«ãã°ãçºèŠãã以äžã®å€ãã®å©ç¹ãæäŸããŸãã ããã¯ç¥èå ±æãä¿é²ããã³ãŒãã®äžè²«æ§ãåäžãããæçµçã«JavaScriptã³ãŒãããŒã¹å šäœã®å質ãé«ããå調çãªããã»ã¹ã§ãã äž»ãªå©ç¹ã以äžã«ç€ºããŸãã
- ã³ãŒãå質ã®åäžïŒ éçºãµã€ã¯ã«ã®æ©ã段éã§ãã°ãæœåšçãªã»ãã¥ãªãã£è匱æ§ãããã©ãŒãã³ã¹ã®ããã«ããã¯ãç¹å®ããŸãã
- ä¿å®æ§ã®åäžïŒ ã³ãŒãã確ç«ãããæšæºã«åŸããå°æ¥çã«çè§£ãä¿®æ£ãæ¡åŒµã容æã§ããããšãä¿èšŒããŸãã
- ç¥èã®å ±æïŒ ããŒã ã¡ã³ããŒãç°ãªãã³ãŒãã£ã³ã°ã¹ã¿ã€ã«ããã¯ããã¯ãã³ãŒãããŒã¹ã®é åã«è§ŠããããŸããããã¯ãæ°ããéçºè ããªã³ããŒãã£ã³ã°ããããæ¢åã®ããŒã ã¡ã³ããŒãæ°ããæè¡ããã¬ãŒã ã¯ãŒã¯ã§ã¯ãã¹ãã¬ãŒãã³ã°ããéã«ç¹ã«æçã§ããäŸãã°ãã·ãã¢éçºè ãReactãVue.jsã®ãããªæ°ããJavaScriptãã¬ãŒã ã¯ãŒã¯ãæ±ã£ãŠãããžã¥ãã¢éçºè ã®ã³ãŒããã¬ãã¥ãŒããã¬ã€ãã³ã¹ããã¹ããã©ã¯ãã£ã¹ãæäŸããããšããããŸãã
- äžè²«æ§ãšã¹ã¿ã€ã«ã®åŒ·å¶ïŒ 確ç«ãããã³ãŒãã£ã³ã°èŠçŽãšã¹ã¿ã€ã«ã¬ã€ããéµå®ããããçµ±äžæã®ããèªã¿ãããã³ãŒãããŒã¹ã«ã€ãªãããŸãã
- æè¡çè² åµã®åæžïŒ æœåšçãªåé¡ãèç©ããåŸã§ä¿®æ£ããã®ã«ã³ã¹ãããããããã«ãªãåã«å¯ŸåŠããŸãã
- ããŒã ã³ã©ãã¬ãŒã·ã§ã³ïŒ ã³ãŒãå質ã«å¯Ÿããã³ã©ãã¬ãŒã·ã§ã³ãšå ±åè²¬ä»»ã®æåãè²ã¿ãŸããããã¯ã察é¢ã§ã®ããåããéãããå¯èœæ§ã®ãããªã¢ãŒãããŒã ãã°ããŒãã«ã«åæ£ããããŒã ã«ãããŠç¹ã«éèŠã§ãã宿çãªã³ãŒãã¬ãã¥ãŒã¯ãããŒã ã¡ã³ããŒéã®ä¿¡é Œãšè¯å¥œãªé¢ä¿ãç¯ãã®ã«åœ¹ç«ã¡ãŸãã
- åŠç¿ãšæé·ïŒ éçºè ããäºãã®ã³ãŒãããåŠã³ãèªèº«ã®ã¹ãã«ãåäžãããæ©äŒãæäŸããŸãã
JavaScriptã³ãŒãã¬ãã¥ãŒããã»ã¹ã®ç¢ºç«
æåããã³ãŒãã¬ãã¥ãŒããã»ã¹ãå®è£ ããã«ã¯ãããŒã ã®ç¹å®ã®ããŒãºãšã¯ãŒã¯ãããŒãæ éã«èšç»ããèæ ®ããå¿ èŠããããŸãã 广çãªããã»ã¹ã確ç«ããããã®ã¹ããããã€ã¹ãããã¬ã€ãã以äžã«ç€ºããŸãã
1. æç¢ºãªã³ãŒãã¬ãã¥ãŒã®ç®æšãå®çŸ©ãã
ãŸããã³ãŒãã¬ãã¥ãŒã§éæãããå ·äœçãªç®æšãæŠèª¬ããããšããå§ããŸãã äž»ã«ãã°ã®æ€åºãã»ãã¥ãªãã£è匱æ§ãããã©ãŒãã³ã¹ã®æé©åããŸãã¯ã³ãŒãã¹ã¿ã€ã«ã®åŒ·å¶ã«çŠç¹ãåœãŠãŠããŸããïŒ æç¢ºãªç®æšãæã€ããšã§ãã¬ãã¥ãŒã®åãçµã¿ã«åªå é äœãä»ããããã»ã¹ã®æå¹æ§ã枬å®ããã®ã«åœ¹ç«ã¡ãŸããäŸãã°ãéèã¢ããªã±ãŒã·ã§ã³ã«åãçµãããŒã ã¯ã»ãã¥ãªãã£ãšæ£ç¢ºæ§ãåªå ãããããããŸããããããŒã±ãã£ã³ã°ãŠã§ããµã€ãã«åãçµãããŒã ã¯ããã©ãŒãã³ã¹ãšãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãåªå ãããããããŸããã
2. é©åãªã³ãŒãã¬ãã¥ãŒããŒã«ãéžæãã
ã³ãŒãã¬ãã¥ãŒããã»ã¹ãä¿é²ããæ¢åã®éçºã¯ãŒã¯ãããŒãšã·ãŒã ã¬ã¹ã«çµ±åã§ããããŒã«ãéžæããŸãã 人æ°ã®ãããªãã·ã§ã³ã«ã¯ä»¥äžãå«ãŸããŸãã
- GitããŒã¹ã®ãã©ãããã©ãŒã ïŒ GitHubãGitLabãBitbucketã¯ããã«ãªã¯ãšã¹ããã³ãŒãã³ã¡ã³ããèªåãã§ãã¯ãªã©ã®çµã¿èŸŒã¿ã³ãŒãã¬ãã¥ãŒæ©èœãæäŸããŸãã ãããã®ãã©ãããã©ãŒã ã¯åºã䜿çšãããŠãããã³ãŒã管çãšã³ã©ãã¬ãŒã·ã§ã³ã®ããã®äžå çãªå ŽæãæäŸããŸãã
- å°çšã®ã³ãŒãã¬ãã¥ãŒããŒã«ïŒ CrucibleãReview Boardã¯ãã¯ãŒã¯ãããŒç®¡çãã¬ããŒãäœæãä»ã®éçºããŒã«ãšã®çµ±åãªã©ãããé«åºŠãªæ©èœãæäŸããŸãã
- IDEãã©ã°ã€ã³ïŒ å€ãã®IDEã¯ãéçºç°å¢å ã§çŽæ¥ã³ãŒãã¬ãã¥ãŒãå®è¡ã§ãããã©ã°ã€ã³ãæäŸããŠããŸãã ããã«ãããã¬ãã¥ãŒããã»ã¹ãåçåãããéçºè ã«ãšã£ãŠãã䟿å©ã«ãªããŸãã
ããŒã«ãéžæããéã«ã¯ãã³ã¹ããæ©èœãçµ±åæ©èœã䜿ãããããªã©ã®èŠçŽ ãèæ ®ããŠãã ãããã°ããŒãã«ã«åæ£ããããŒã ã®å ŽåãéžæããããŒã«ãç°ãªãã¿ã€ã ãŸãŒã³éã§ã®éåæã³ãã¥ãã±ãŒã·ã§ã³ãšã³ã©ãã¬ãŒã·ã§ã³ããµããŒãããŠããããšã確èªããŠãã ããã äŸãã°ãã¹ã¬ãã圢åŒã®ã³ã¡ã³ããã¡ãŒã«éç¥ãªã©ã®æ©èœã¯ãå Žæã«é¢ä¿ãªãå šå¡ãæ å ±ãå ±æããã¬ãã¥ãŒããã»ã¹ã«åå ãç¶ããã®ã«åœ¹ç«ã¡ãŸãã
3. ã³ãŒãã¬ãã¥ãŒã®åœ¹å²ãšè²¬ä»»ãå®çŸ©ãã
ã³ãŒãã¬ãã¥ãŒããã»ã¹ã«ãããååå è ã®åœ¹å²ãšè²¬ä»»ãæç¢ºã«å®çŸ©ããŸãã éåžžã2ã€ã®äž»èŠãªåœ¹å²ããããŸãã
- äœæè ïŒAuthorïŒïŒ ã³ãŒããèšè¿°ããã¬ãã¥ãŒã®ããã«æåºãã責任ãããéçºè ã äœæè ã¯ãã³ãŒããååã«ææžåãããã³ãŒãã£ã³ã°æšæºã«åŸããã¬ãã¥ãŒã®ããã«æåºããåã«æ¢ç¥ã®åé¡ã«å¯ŸåŠããŠããããšã確èªããå¿ èŠããããŸãã
- ã¬ãã¥ãŒæ åœè ïŒReviewerïŒïŒ ã³ãŒããã¬ãã¥ãŒãããã£ãŒãããã¯ãæäŸããéçºè ã ã¬ãã¥ãŒæ åœè ã¯ã建èšçã§æŽå¯ã«æºã¡ããã£ãŒãããã¯ãæäŸããããã«ãã³ãŒãããŒã¹ãšé¢é£æè¡ã«é¢ããååãªç¥èãæã£ãŠããå¿ èŠããããŸãã 圌ãã¯æœåšçãªåé¡ãç¹å®ããæ¹åãææ¡ããã³ãŒãã確ç«ãããåè³ªåºæºãæºãããŠããããšã確èªãã責任ããããŸãã
å Žåã«ãã£ãŠã¯ãã³ãŒãã¬ãã¥ãŒããã»ã¹å šäœã管çãã察ç«ã解決ããã¬ãã¥ãŒãã¿ã€ã ãªãŒã«å®äºããããšãä¿èšŒãã責任ãæã€ãæå®ãããã³ãŒãã¬ãã¥ãŒãªãŒããããããšããããŸãã ãªãŒãã¯ãŸãããžã¥ãã¢éçºè ã®ã¡ã³ã¿ãŒãšããŠæ©èœããã³ãŒãã£ã³ã°ã®ãã¹ããã©ã¯ãã£ã¹ãã³ãŒãã¬ãã¥ãŒã®ãã¯ããã¯ã«é¢ããã¬ã€ãã³ã¹ãæäŸããããšãã§ããŸãã
4. ã³ãŒãã£ã³ã°èŠçŽãšã¹ã¿ã€ã«ã¬ã€ãã確ç«ãã
äžè²«ããã³ãŒãã£ã³ã°ã¹ã¿ã€ã«ã¯ãã³ãŒããèªã¿ããããçè§£ãããããä¿å®ããããããŸãã 以äžã®ãããªåŽé¢ãã«ããŒããæç¢ºãªã³ãŒãã£ã³ã°èŠçŽãšã¹ã¿ã€ã«ã¬ã€ãã確ç«ããŸãã
- åœåèŠåïŒ å€æ°ã颿°ãã¯ã©ã¹ã®åœåæ¹æ³ã
- ã€ã³ãã³ããšãã©ãŒãããïŒ èªã¿ããããåäžãããããã®ç©ºçœãšãã©ãŒãããã®äžè²«ãã䜿çšã Prettierã®ãããªããŒã«ã¯ãã®ããã»ã¹ãèªååã§ããŸãã
- ã³ã¡ã³ãïŒ ã³ãŒãã説æããããã«ã³ã¡ã³ãã远å ããæ¹æ³ãšã¿ã€ãã³ã°ã JSDocã¯JavaScriptã³ãŒããææžåããããã®äžè¬çãªéžæè¢ã§ãã
- ãšã©ãŒãã³ããªã³ã°ïŒ ãšã©ãŒãšäŸå€ã®åŠçæ¹æ³ã
- ã»ãã¥ãªãã£ã®ãã¹ããã©ã¯ãã£ã¹ïŒ å®å šãªã³ãŒããèšè¿°ããã¯ãã¹ãµã€ãã¹ã¯ãªããã£ã³ã°ïŒXSSïŒãSQLã€ã³ãžã§ã¯ã·ã§ã³ãªã©ã®äžè¬çãªã»ãã¥ãªãã£è匱æ§ãåé¿ããããã®ã¬ã€ãã©ã€ã³ã
ESLintãJSHintãªã©ã®ããŒã«ã䜿çšããŠããããã®æšæºãèªåçã«åŒ·å¶ããæœåšçãªã¹ã¿ã€ã«éåãç¹å®ã§ããŸãã ãããã®ããŒã«ãéçºã¯ãŒã¯ãããŒã«çµ±åããããšã§ãã³ãŒããäžè²«æ§ãä¿ã¡ã確ç«ãããã¹ã¿ã€ã«ã¬ã€ãã«æºæ ããŠããããšãä¿èšŒããã®ã«åœ¹ç«ã¡ãŸããã°ããŒãã«ã«åæ£ããããŒã ã®å Žåãè€æ°ã®èšèªã«ç¿»èš³ãããååã«ææžåãããŠããGoogle JavaScriptã¹ã¿ã€ã«ã¬ã€ããªã©ãåºãåãå ¥ããããŠããã¹ã¿ã€ã«ã¬ã€ãã®äœ¿çšãæ€èšããŠãã ããã
5. å¯èœãªéãèªååãã
ã³ãŒãã®ãã©ãŒãããããªã³ãã£ã³ã°ãåºæ¬çãªãã¹ããªã©ã®å埩çãªã¿ã¹ã¯ãèªååããŸãã ããã«ãããã¬ãã¥ãŒæ åœè ã¯ã³ãŒãã®ããè€éã§éèŠãªåŽé¢ã«éäžã§ããããã«ãªããŸãã ESLintãPrettierãJestãªã©ã®ããŒã«ãCI/CDãã€ãã©ã€ã³ã«çµ±åããŠãã³ãŒãã®å質ãèªåçã«ãã§ãã¯ãããã¹ããå®è¡ã§ããŸãã ããã¯ãéçºãµã€ã¯ã«ã®æ©ã段éã§åé¡ããã£ããããããããæ¬çªç°å¢ã«å°éããã®ãé²ãã®ã«åœ¹ç«ã¡ãŸãã äŸãã°ãCI/CDãã€ãã©ã€ã³ãæ§æããŠãã³ãããããšã«ESLintãšPrettierãå®è¡ããã³ãŒããèªåçã«ãã©ãŒãããããã¹ã¿ã€ã«éåããã©ã°ä»ãããããšãã§ããŸãã
6. ã³ãŒãã¬ãã¥ãŒã®ç¯å²ãšçŠç¹ãå®çŸ©ãã
åã³ãŒãã¬ãã¥ãŒã®ç¯å²ã決å®ããŸãã ã³ãŒãã®ãã¹ãŠã®è¡ãã¬ãã¥ãŒãã¹ããããããšãéèŠãªæ©èœãè€éãªã¢ã«ãŽãªãºã ãã»ãã¥ãªãã£ã«ææãªã³ãŒããªã©ã®ç¹å®ã®é åã«çŠç¹ãåœãŠãã¹ããïŒ ç¯å²ã¯ãã³ãŒã倿Žã®ãµã€ãºãã³ãŒãã®è€éããæœåšçãªãšã©ãŒã«é¢é£ãããªã¹ã¯ãªã©ã®èŠå ã«åºã¥ããŠæ±ºå®ãããã¹ãã§ãã äŸãã°ãå°ããªãã°ä¿®æ£ã¯ cursory ãªã¬ãã¥ãŒããå¿ èŠãšããªããããããŸããããäž»èŠãªæ©èœå®è£ ã¯ãã培åºçãªã¬ãã¥ãŒãå¿ èŠã«ãªãå ŽåããããŸãã ãã§ãã¯ãªã¹ãã䜿çšããŠã¬ãã¥ãŒããã»ã¹ãã¬ã€ãããã³ãŒãã®ãã¹ãŠã®é¢é£åŽé¢ãã«ããŒãããŠããããšã確èªããããšãæ€èšããŠãã ããã
7. ã³ãŒãã¬ãã¥ãŒã®æèŠæéãèšå®ãã
ã³ãŒãã¬ãã¥ãŒãã¿ã€ã ãªãŒã«å®äºããããã«ãåççãªæèŠæéãèšå®ããŸãã ã³ãŒãã¬ãã¥ãŒã®é å»¶ã¯ãéçºããã»ã¹ãé ããããããžã§ã¯ãã®ç· ãåãã«åœ±é¿ãäžããå¯èœæ§ããããŸãã çæ³çãªæèŠæéã¯ãã³ãŒã倿Žã®ãµã€ãºãšè€éãã«ãã£ãŠç°ãªããŸããã24ã48æé以å ã®å¿çæéãç®æããŠãã ããã ã¿ã€ã ãªãŒãªã³ãŒãã¬ãã¥ãŒã®éèŠæ§ãããŒã ã«äŒããå¿çæéã«é¢ããæç¢ºãªæåŸ å€ãèšå®ããŸãã éèŠãªãã°ä¿®æ£ãç·æ¥ã®æ©èœãªã¯ãšã¹ãã«åªå é äœãä»ããŠãã³ãŒãã¬ãã¥ãŒãåªå é äœä»ãããã·ã¹ãã ãå®è£ ããããšãæ€èšãããããããŸããã
8. ã³ãŒãã¬ãã¥ãŒã®ã¡ããªã¯ã¹ã远跡ããã³æž¬å®ãã
ã³ãŒãã¬ãã¥ãŒããã»ã¹ã®æå¹æ§ã枬å®ããããã«ãäž»èŠãªã¡ããªã¯ã¹ã远跡ããŸãã äŸãšããŠã¯ä»¥äžã®ãããªãã®ããããŸãã
- ã³ãŒãã¬ãã¥ãŒäžã«èŠã€ãã£ããã°ã®æ°ïŒ ããã¯ããã°ãç¹å®ãã鲿¢ããäžã§ã®ã³ãŒãã¬ãã¥ãŒããã»ã¹ã®æå¹æ§ã瀺ããŸãã
- ã³ãŒãã¬ãã¥ãŒã®æèŠæéïŒ ããã¯ãã³ãŒãã¬ãã¥ãŒãå®äºããã®ã«ãããæéãæž¬å®ããŸãã
- ã³ãŒãã®è€éåºŠïŒ ãµã€ã¯ãããã£ãã¯è€é床ãªã©ã®ææšã¯ã远å ã®ã¬ãã¥ãŒããªãã¡ã¯ã¿ãªã³ã°ã®æ©æµãåããå¯èœæ§ã®ããã³ãŒãé åã瀺ãããšãã§ããŸãã
- ã¬ãã¥ãŒãããã®ã³ã¡ã³ãæ°ïŒ ããã¯ãã³ãŒãã¬ãã¥ãŒäžã®ãšã³ã²ãŒãžã¡ã³ããšã³ã©ãã¬ãŒã·ã§ã³ã®ã¬ãã«ã瀺ãããšãã§ããŸãã
- æ¬çªç°å¢ã§ã®æ¬ é¥å¯åºŠïŒ ããã¯ãã³ãŒãã¬ãã¥ãŒåŸã«æ¬çªç°å¢ã«å°éãããã°ã®æ°ã枬å®ããŸãã
ãããã®ã¡ããªã¯ã¹ãåæããããšã§ãæ¹åã®äœå°ãããé åãç¹å®ããã³ãŒãã¬ãã¥ãŒããã»ã¹ãæé©åããã®ã«åœ¹ç«ã¡ãŸãã äŸãã°ãã³ãŒãã¬ãã¥ãŒã®æèŠæéãäžè²«ããŠé ãããšãããã£ãå Žåã¯ãããŒã ã«ã¬ãã¥ãŒæ åœè ã远å ããããã³ãŒãã¬ãã¥ãŒã®ã¯ãŒã¯ãããŒãåçåãããããããšãæ€èšãããããããŸããã
JavaScriptã³ãŒãã¬ãã¥ãŒãã§ãã¯ãªã¹ãïŒçŠç¹ãåœãŠãã¹ãäž»èŠãªé å
培åºçã§å¹æçãªã³ãŒãã¬ãã¥ãŒã確å®ã«ããããã«ã以äžã®äž»èŠãªé åãã«ããŒãããã§ãã¯ãªã¹ãã䜿çšããŠãã ããã
1. æ©èœæ§ãšæ£ç¢ºæ§
- ã³ãŒãã¯æå®ãããèŠä»¶ãæºãããŠããŸããïŒ
- ã³ãŒãã¯ãšããžã±ãŒã¹ããšã©ãŒæ¡ä»¶ãæ£ããåŠçããŠããŸããïŒ
- æœåšçãªè«çãšã©ãŒããã°ã¯ãããŸããïŒ
- ç«¶åç¶æ ãåæå®è¡æ§ã®åé¡ã¯ãããŸããïŒ
- ã»ãã¥ãªãã£è匱æ§ãé²ãããã«ããã¹ãŠã®å ¥åã¯æ£ããæ€èšŒãããŠããŸããïŒ
äŸïŒã³ãŒããéæãèšç®ãã責任ãããå Žåãç°ãªãé éå°åãééã¯ã©ã¹ãããã¢ãŒã·ã§ã³å²åŒãæ£ããåŠçããŠããŸããïŒ
2. ã³ãŒãã®å¯èªæ§ãšä¿å®æ§
- ã³ãŒãã¯çè§£ããããã远ããããã§ããïŒ
- 倿°åã颿°åã¯èšè¿°çã§æå³ããããŸããïŒ
- ã³ãŒãã¯ååã«ææžåãããŠããŸããïŒ
- ã³ãŒãã¯é©åã«ã€ã³ãã³ãããããã©ãŒããããããŠããŸããïŒ
- ã³ãŒãã¯ã¢ãžã¥ãŒã«åãããŠãããåå©çšå¯èœã§ããïŒ
- ã³ãŒãã«äžå¿ èŠãªè€éãã¯ãããŸãããïŒ ãªãã¡ã¯ã¿ãªã³ã°ããã¶ã€ã³ãã¿ãŒã³ãªã©ã®ãã¯ããã¯ã䜿çšããŠã³ãŒããç°¡çŽ åããæ©äŒãæ¢ããŠãã ããã
äŸïŒå€æ°åã«äžå¯è§£ãªç¥èªã䜿çšãã代ããã«ã倿°ã®ç®çãæç¢ºã«ç€ºãèšè¿°çãªååã䜿çšããŸãïŒäŸïŒãscãã®ä»£ããã«ãshippingCostãïŒã
3. ããã©ãŒãã³ã¹ãšæé©å
- ã³ãŒãã¯å¹ççã§ããã©ãŒãã³ã¹ãé«ãã§ããïŒ
- æœåšçãªããã©ãŒãã³ã¹ã®ããã«ããã¯ã¯ãããŸããïŒ
- äžèŠãªã«ãŒããèšç®ã¯ãããŸããïŒ
- ç»åããã®ä»ã®ã¢ã»ããã¯ããã©ãŒãã³ã¹ã®ããã«æé©åãããŠããŸããïŒ
- ã³ãŒãã¯HTTPãªã¯ãšã¹ãã®æ°ãæå°éã«æããŠããŸããïŒ
- ã³ãŒãã¯ãµãŒããŒã®è² è·ã軜æžããããã«ãã£ãã·ã³ã°ã广çã«äœ¿çšããŠããŸããïŒ
äŸïŒé åãå埩åŠçããããã« `for...in` ã«ãŒãã䜿çšããªãã§ãã ããã`for` ã«ãŒãã `forEach` ã¡ãœããã䜿çšãããããå€§å¹ ã«é ããªãå¯èœæ§ããããŸãã ããã©ãŒãã³ã¹ãåäžãããããã«ãããå¹ççãªããŒã¿æ§é ãšã¢ã«ãŽãªãºã ã®äœ¿çšãæ€èšããŠãã ããã
4. ã»ãã¥ãªãã£
- ã³ãŒãã«ã¯ãã¹ãµã€ãã¹ã¯ãªããã£ã³ã°ïŒXSSïŒãSQLã€ã³ãžã§ã¯ã·ã§ã³ãã¯ãã¹ãµã€ããªã¯ãšã¹ããã©ãŒãžã§ãªïŒCSRFïŒãªã©ã®äžè¬çãªã»ãã¥ãªãã£è匱æ§ã¯ãããŸãããïŒ
- ãã¹ãŠã®å ¥åã¯é©åã«æ€èšŒããããµãã¿ã€ãºãããŠããŸããïŒ
- æ©å¯ããŒã¿ã¯å®å šã«ä¿åãããŠããŸããïŒ
- èªèšŒããã³èªå¯ã¡ã«ããºã ã¯é©åã«å®è£ ãããŠããŸããïŒ
- ã³ãŒãã¯ã»ãã¥ãªãã£ã®ãã¹ããã©ã¯ãã£ã¹ã«åŸã£ãŠããŸããïŒ
äŸïŒXSSæ»æãé²ãããã«ãWebããŒãžã«è¡šç€ºããåã«å¿ ããŠãŒã¶ãŒå ¥åããµãã¿ã€ãºããŠãã ããã SQLã€ã³ãžã§ã¯ã·ã§ã³è匱æ§ãé²ãããã«ããã©ã¡ãŒã¿åãããã¯ãšãªã䜿çšããŠãã ããã
5. ãã¹ã
- ã³ãŒããã«ããŒããã®ã«ååãªåäœãã¹ãããããŸããïŒ
- ãã¹ãã¯ãã¹ãŠã®ãšããžã±ãŒã¹ãšãšã©ãŒæ¡ä»¶ãã«ããŒããŠããŸããïŒ
- ãã¹ãã¯ããæžãããŠãããçè§£ããããã§ããïŒ
- ãã¹ãã¯èªååãããCI/CDãã€ãã©ã€ã³ã«çµ±åãããŠããŸããïŒ
- ãã¹ãã¯äžè²«ããŠãã¹ããŸããïŒ
äŸïŒãã¹ãŠã®éèŠãªé¢æ°ãšã³ã³ããŒãã³ãã«åäœãã¹ããããããšã確èªããŠãã ããã ãã¹ãé§åéçºïŒTDDïŒã¢ãããŒãã䜿çšããŠãã³ãŒããæžãåã«ãã¹ããæžããŠãã ããã
6. ã³ãŒãã¹ã¿ã€ã«ãšäžè²«æ§
- ã³ãŒãã¯ç¢ºç«ãããã³ãŒãã£ã³ã°èŠçŽãšã¹ã¿ã€ã«ã¬ã€ãã«æºæ ããŠããŸããïŒ
- ã³ãŒãã¯äžè²«ããŠãã©ãŒããããããŠããŸããïŒ
- ã¹ã¿ã€ã«éåã¯ãããŸããïŒ
- ã³ãŒãã«äžå¿ èŠãªè€éãã¯ãããŸãããïŒ
- ã³ãŒãã¯æå°é©ãã®ååã«åŸã£ãŠããŸããïŒ èšãæããã°ãã³ãŒãã¯ãŠãŒã¶ãŒã®æåŸ ãšäžèŽããäºæž¬å¯èœãªæ¹æ³ã§åäœããŸããïŒ
äŸïŒã³ãŒãå šäœã§äžè²«ããã€ã³ãã³ããšã¹ããŒã·ã³ã°ã䜿çšããŠãã ããã 倿°ã颿°ãã¯ã©ã¹ã«ã¯ç¢ºç«ãããåœåèŠåã«åŸã£ãŠãã ããã
JavaScriptã³ãŒãã¬ãã¥ãŒæ åœè ã®ããã®ãã¹ããã©ã¯ãã£ã¹
广çãªã³ãŒãã¬ãã¥ãŒæ åœè ã§ããããã«ã¯ãæè¡çãªå°éç¥è以äžã®ãã®ãå¿ èŠã§ãã ãŸãã匷åãªã³ãã¥ãã±ãŒã·ã§ã³ã¹ãã«ãå ±æã建èšçãªãã£ãŒãããã¯ãæäŸããææ¬²ãå¿ èŠã§ãã JavaScriptã³ãŒãã¬ãã¥ãŒæ åœè ã®ããã®ãã¹ããã©ã¯ãã£ã¹ãããã€ã玹ä»ããŸãã
- è¿ éã§ããããšïŒ éçºããã»ã¹ãé ãããªãããã«ãã³ãŒãã¬ãã¥ãŒã®ãªã¯ãšã¹ãã«è¿ éã«å¯Ÿå¿ããŸãã
- 培åºçã§ããããšïŒ ã³ãŒããæ³šææ·±ãã¬ãã¥ãŒãã现éšã«æ³šæãæããŸãã
- 建èšçã§ããããšïŒ äœæè ãã³ãŒããæ¹åããããã«äœ¿çšã§ãããå ·äœçã§å®è¡å¯èœãªãã£ãŒãããã¯ãæäŸããŸãã ææ§ãªãŸãã¯äž»èгçãªã³ã¡ã³ãã¯é¿ããŠãã ããã
- æ¬æãæãããšïŒ æ¬æãæã£ãŠãããã§ãã·ã§ãã«ãªæ¹æ³ã§ãã£ãŒãããã¯ãäŒããŸãã äœæè ãã³ãŒããæžãã®ã«æéãšåŽåãè²»ãããããšãå¿ããªãã§ãã ããã
- äœæè ã§ã¯ãªãã³ãŒãã«çŠç¹ãåœãŠãããšïŒ ã³ãŒããæžãã人ã§ã¯ãªããã³ãŒããæ¹å€ããŸãã
- çç±ã説æããããšïŒ 倿Žãææ¡ããéã«ã¯ããªããã®å€æŽãå¿ èŠã ãšèããã®ãã説æããŸãã
- äŸãæäŸããããšïŒ ãã€ã³ãã説æãããã£ãŒãããã¯ãããå ·äœçã«ããããã«äŸã䜿çšããŸãã
- 質åãããããšïŒ äœãçè§£ã§ããªãããšãããã°ãçè§£ãæç¢ºã«ããããã«è³ªåããŸãã
- 解決çãææ¡ããããšïŒ åé¡ãææããã ãã§ãªãããããä¿®æ£ããæ¹æ³ã«ã€ããŠã®ææ¡ãããŸãã
- è°è«ãåãå ¥ããããšïŒ ãã£ãŒãããã¯ã«ã€ããŠè°è«ããäœæè ã®èŠç¹ãèæ ®ããææ¬²ãæã€ããšã
- è¯ãã³ãŒããèªèããããšïŒ åé¡ãèŠã€ããããšã ãã«éäžããªãã§ãã ããã ããæžãããã³ãŒããèªããè³è³ããŸãã
- ã³ãŒãã¹ã¿ã€ã«ã®ãã§ãã¯ãèªååããããšïŒ ãªã³ã¿ãŒã䜿çšããŠãã©ãŒããããã¹ã¿ã€ã«ã®åé¡ãèªåçã«ãã£ããããã³ãŒãã®ããéèŠãªåŽé¢ã«éäžã§ããããã«ããŸãã
JavaScriptã³ãŒãäœæè ã®ããã®ãã¹ããã©ã¯ãã£ã¹
ã¬ãã¥ãŒã®ããã«ã³ãŒããæåºããããšã¯ãåã«å質ã®è²¬ä»»ãã¬ãã¥ãŒæ åœè ã«æž¡ãããšã§ã¯ãããŸããã äœæè ããã³ãŒãã¬ãã¥ãŒããã»ã¹ãå¹ççãã€å¹æçã§ããããšãä¿èšŒããäžã§éèŠãªåœ¹å²ãæãããŸãã JavaScriptã³ãŒãäœæè ã®ããã®ãã¹ããã©ã¯ãã£ã¹ãããã€ã玹ä»ããŸãã
- ã¯ãªãŒã³ãªã³ãŒããæžãããšïŒ ã³ãŒãã£ã³ã°èŠçŽãšã¹ã¿ã€ã«ã¬ã€ãã«åŸã£ãŠãã³ãŒããèªã¿ããããçè§£ããããããŸãã
- ã³ãŒããææžåããããšïŒ è€éãªããžãã¯ãèªæã§ãªã決å®ã説æããããã«ã³ã¡ã³ãã远å ããŸãã
- ã³ãŒãããã¹ãããããšïŒ ã³ãŒããæåŸ ã©ããã«æ©èœããããšã確èªããããã«åäœãã¹ããæžããŸãã
- èªåã®ã³ãŒããã¬ãã¥ãŒããããšïŒ ã¬ãã¥ãŒã®ããã«ã³ãŒããæåºããåã«ãæéããããŠèªåã§ã¬ãã¥ãŒããŸãã ããã«ãããç°¡åãªãšã©ãŒããã£ããããã³ãŒãå šäœã®å質ãåäžãããããšãã§ããŸãã
- æç¢ºãªã³ãããã¡ãã»ãŒãžãæžãããšïŒ åã³ãããã®ç®çãšè¡ããã倿Žã説æããŸãã
- ã³ããããå°ãããçŠç¹ãçµãããšïŒ å°ããªã³ãããã¯ã¬ãã¥ãŒãããããçè§£ããããã§ãã
- ãã£ãŒãããã¯ã«å¯Ÿå¿ããããšïŒ ã¬ãã¥ãŒæ åœè ããã®ãã£ãŒãããã¯ã«è¿ éã«å¯Ÿå¿ãã圌ãã®æžå¿µã«éããã«å¯ŸåŠããŸãã
- æ¹å€ãåãå ¥ããããšïŒ æ¹å€ãå人çã«åãåããªãã§ãã ããã ãããåŠã³ãã¹ãã«ãåäžãããæ©äŒãšããŠå©çšããŠãã ããã
- èšèšäžã®æ±ºå®ã説æããããšïŒ ç¹å®ã®èšèšäžã®æ±ºå®ãäžããå Žåã¯ããã®çç±ã説æããæºåãããŠãã ããã
- å©ããæ±ããããšïŒ ç¹å®ã®åé¡ã§èŠåŽããŠããå Žåã¯ãå©ããæ±ããããšãæããªãã§ãã ããã
- ã¬ãã¥ãŒæ åœè ã®æéãèæ ®ããããšïŒ ã¬ãã¥ãŒæ åœè ãããªãã®ã³ãŒããçè§£ããã¬ãã¥ãŒããã®ãã§ããã ãç°¡åã«ããŸãã
JavaScriptã³ãŒãã¬ãã¥ãŒã«ãããäžè¬çãªèª²é¡ãžã®å¯ŸåŠ
æç¢ºã«å®çŸ©ãããããã»ã¹ããã£ãŠããã³ãŒãã¬ãã¥ãŒã¯ç¹å®ã®èª²é¡ãæç€ºããããšããããŸãã 以äžã«äžè¬çãªèª²é¡ãšãã®å¯ŸåŠæ³ãããã€ã玹ä»ããŸãã
- æéã®äžè¶³ïŒ éçºè ã¯ãã°ãã°ã³ãŒããè¿ éã«æäŸãããã¬ãã·ã£ãŒã«ãããããŠããããããæ¥ãªã³ãŒãã¬ãã¥ãŒã«ã€ãªããå¯èœæ§ããããŸãã ããã«å¯ŸåŠããã«ã¯ãã³ãŒãã¬ãã¥ãŒã«åªå é äœãä»ããéçºã¹ã±ãžã¥ãŒã«ã§ååãªæéãå²ãåœãŠãŸãã å埩çãªã¿ã¹ã¯ãèªååããŠãã¬ãã¥ãŒæ åœè ã®æéãè§£æŸããŸãã
- 䞻芳æ§ïŒ ã³ãŒãã¹ã¿ã€ã«ãèšèšã®å¥œã¿ã¯äž»èгçã§ãããã³ãŒãã¬ãã¥ãŒäžã«æèŠã®çžéã«ã€ãªããå¯èœæ§ããããŸãã ããã«å¯ŸåŠããã«ã¯ãæç¢ºãªã³ãŒãã£ã³ã°èŠçŽãšã¹ã¿ã€ã«ã¬ã€ãã確ç«ããèªåãªã³ã¿ãŒã䜿çšããŠãããã匷å¶ããŸãã æ£ç¢ºæ§ãããã©ãŒãã³ã¹ãã»ãã¥ãªãã£ãªã©ã®å®¢èгçãªåºæºã«çŠç¹ãåœãŠãŸãã
- å°éç¥èã®äžè¶³ïŒ ã¬ãã¥ãŒæ åœè ã¯ãé¢é£ããæè¡ãã³ãŒãããŒã¹ã®é åã«é¢ããååãªå°éç¥èãåžžã«æã£ãŠãããšã¯éããŸããã ããã«å¯ŸåŠããã«ã¯ãé©åãªå°éç¥èãæã€éçºè ã«ã¬ãã¥ãŒãå²ãåœãŠãŸãã éçºè ãç¥èãåºããã®ãå©ããããã«ããã¬ãŒãã³ã°ãšã¡ã³ã¿ãªã³ã°ãæäŸããŸãã ããŒã å ã§ã®ç¥èå ±æã奚å±ããŸãã
- å€§èŠæš¡ãªã³ãŒã倿ŽïŒ å€§èŠæš¡ãªã³ãŒã倿Žã®ã¬ãã¥ãŒã¯æéãããããå§åãããããšããããŸãã ããã«å¯ŸåŠããã«ã¯ãå€§èŠæš¡ãªå€æŽãããå°ããã管çããããã³ãããã«åå²ããŸãã ãã£ãŒãã£ãŒãã©ã°ã䜿çšããŠãæ°ããæ©èœã段éçã«å°å ¥ããŸãã
- ãªã¢ãŒãã³ã©ãã¬ãŒã·ã§ã³ïŒ ã¿ã€ã ãŸãŒã³ã®éããã³ãã¥ãã±ãŒã·ã§ã³ã®éå£ã«ããããªã¢ãŒããŸãã¯ã°ããŒãã«ã«åæ£ããããŒã ã§ã®ã³ãŒãã¬ãã¥ãŒã¯å°é£ãªå ŽåããããŸãã ããã«å¯ŸåŠããã«ã¯ãã¹ã¬ãã圢åŒã®ã³ã¡ã³ããã¡ãŒã«éç¥ãªã©ã®éåæã³ãã¥ãã±ãŒã·ã§ã³ããŒã«ã䜿çšããŸãã æç¢ºãªã³ãã¥ãã±ãŒã·ã§ã³ãããã³ã«ãšæåŸ å€ãèšå®ããŸãã ã³ãŒãã¬ãã¥ãŒã®ãã£ãŒãããã¯ã«ã€ããŠè©±ãåãããã«ã宿çãªãããªé話ãã¹ã±ãžã¥ãŒã«ããŸãã
- é²åŸ¡çãªæ åºŠïŒ éçºè ã¯ãèªåã®ã³ãŒããæ¹å€ããããšé²åŸ¡çã«ãªãããšããããŸãã ããã«å¯ŸåŠããã«ã¯ããªãŒãã³ãªã³ãã¥ãã±ãŒã·ã§ã³ãšå»ºèšçãªãã£ãŒãããã¯ã®æåãè²ã¿ãŸãã ã³ãŒãã¬ãã¥ãŒã®ç®æšã¯ãäœæè ãæ¹å€ããããšã§ã¯ãªããã³ãŒããæ¹åããããšã§ããããšã匷調ããŸãã éçºè ãã³ãŒãã¬ãã¥ãŒãåŠç¿ã®æ©äŒãšèŠãªãããã«å¥šå±ããŸãã
ã°ããŒãã«ãªæèã«ãããJavaScriptã³ãŒãã¬ãã¥ãŒ
ã°ããŒãã«ã«åæ£ããJavaScriptéçºããŒã ãšååããå Žåã远å ã®èæ ®äºé ãé¢ä¿ããŠããŸãã æåçãªéããã¿ã€ã ãŸãŒã³ã®å€åãèšèªã®éå£ã¯ãã¹ãŠãã³ãŒãã¬ãã¥ãŒããã»ã¹ã®æå¹æ§ã«åœ±é¿ãäžããå¯èœæ§ããããŸãã ã°ããŒãã«ãªæèã§ã³ãŒãã¬ãã¥ãŒã宿œããããã®ãã³ããããã€ã玹ä»ããŸãã
- æåçãªéãã«é æ ®ããããšïŒ ã³ãã¥ãã±ãŒã·ã§ã³ã¹ã¿ã€ã«ãæåŸ å€ã¯æåã«ãã£ãŠç°ãªãå ŽåãããããšãèªèããŠãã ããã å šå¡ã«çè§£ãããªãå¯èœæ§ã®ããä»®å®ãããããã¹ã©ã³ã°ã䜿çšãããããããšã¯é¿ããŠãã ããã ç°ãªãèŠç¹ãæèŠãå°éããŠãã ããã
- ã¿ã€ã ãŸãŒã³ã®éããèæ ®ããããšïŒ ãã¹ãŠã®åå è ã«ãšã£ãŠéœåã®è¯ãæéã«ã³ãŒãã¬ãã¥ãŒãšäŒè°ãã¹ã±ãžã¥ãŒã«ããŸãã éåæã³ãã¥ãã±ãŒã·ã§ã³ããŒã«ã䜿çšããŠãã¿ã€ã ãŸãŒã³ãè¶ããã³ã©ãã¬ãŒã·ã§ã³ãä¿é²ããŸãã
- æç¢ºã§ç°¡æœãªèšèªã䜿çšããããšïŒ è±èªãæ¯åœèªãšããªã人ã«ã¯éŠŽæã¿ã®ãªãå°éçšèªãæè¡çšèªã®äœ¿çšã¯é¿ããŠãã ããã ãã£ãŒãããã¯ã容æã«çè§£ãããããã«ãæç¢ºã§ç°¡æœãªèšèªã䜿çšããŠãã ããã
- æèãæäŸããããšïŒ ãã£ãŒãããã¯ãæäŸããéã«ã¯ãã¬ãã¥ãŒæ åœè ãåé¡ãçè§£ããã®ã«åœ¹ç«ã€ååãªæèãæäŸããŠãã ããã ããã¥ã¡ã³ãã仿§ãžã®é¢é£ãªã³ã¯ãå«ããŠãã ããã
- 翻蚳ã奚å±ããããšïŒ å¿ èŠã§ããã°ãã¬ãã¥ãŒæ åœè ã«ãã£ãŒãããã¯ãæ¯åœèªã«ç¿»èš³ããŠããããå®å šã«çè§£ãããããã«å¥šå±ããŸãã
- é¢ä¿ãç¯ãããšïŒ ä»åœã®ååãšã®é¢ä¿ãç¯ãããã«æéããããŠãã ããã ããã¯ä¿¡é Œãè²ã¿ãã³ãã¥ãã±ãŒã·ã§ã³ãæ¹åããã®ã«åœ¹ç«ã¡ãŸãã
çµè«
JavaScriptã³ãŒãã¬ãã¥ãŒã¯ãã³ãŒãã®å質ãä¿å®æ§ãã»ãã¥ãªãã£ã確ä¿ããããã®äžå¯æ¬ ãªãã©ã¯ãã£ã¹ã§ãã æç¢ºã«å®çŸ©ãããã³ãŒãã¬ãã¥ãŒããã»ã¹ã確ç«ãããã¹ããã©ã¯ãã£ã¹ã«åŸããäžè¬çãªèª²é¡ã«å¯ŸåŠããããšã§ãå°ççãªå Žæã«é¢ä¿ãªããJavaScriptãããžã§ã¯ãã®å šäœçãªå質ãå€§å¹ ã«åäžãããéçºããŒã å ã§ã®ã³ã©ãã¬ãŒã·ã§ã³ã®æåãè²ãããšãã§ããŸãã ã³ãŒãã¬ãã¥ãŒãåŠç¿ãæé·ãç¶ç¶çãªæ¹åã®æ©äŒãšããŠåãå ¥ããŠãã ããã å ç¢ãªã³ãŒãã¬ãã¥ãŒããã»ã¹ã®é·æçãªå©ç¹ã¯ãæéãšåŽåã®åææè³ãã¯ããã«äžåããŸãã